import request from '@/utils/request'
/**
 * Union类，提供标准的工会接口调用api
 */
let that
export default class Union {
  /**
   * 构造函数
   * @param {String} subSys 模块英文名（小写）
   * @param {String} module 子模块英文名（小写）
   */
  constructor(subSys, module) {
    that = this
    this.subSys = subSys
    this.module = module
  }

  /**
   * 查询分页列表（get）
   * @param parameter
   */
  getList(data) {
    return request({
      url: this.subSys + this.module + '/queryPage',
      method: 'post',
      data
    })
  }

  /**
   * 查询全部列表（get）
   * @param parameter
   */
   getAllList(data) {
    return request({
      url: this.subSys + this.module + '/query',
      method: 'post',
      data
    })
  }

  /**
   * 详情（get）
   * @param parameter
   */
  getDetail(parameter) {
    return request({
      url: this.subSys + this.module + '/findById',
      method: 'get',
      params: parameter
    })
  }

  /**
   * 添加
   * @param parameter
   */
  create(data) {
    return request({
      url: this.subSys + this.module + '/create',
      method: 'post',
      data
    })
  }

  /**
   * 批量添加（导入）
   * @param parameter
   */
  createBatch(data) {
    return request({
      url: this.subSys + this.module + '/createBatch',
      method: 'post',
      data
    })
  }

  /**
   * 编辑
   * @param parameter
   */
  update(data) {
    return request({
      url: this.subSys + this.module + '/update',
      method: 'post',
      data
    })
  }

  /**
   * 移除
   * @param parameter
   */
  remove(params) {
    return request({
      url: this.subSys + this.module + '/delete',
      method: 'post',
      params
    })
  }

  /**
   * 枚举
   * @param parameter
   */
  getLabels(data) {
    return request({
      url: that.subSys + '/typesLabel/' + that.module,
      method: 'post',
      data
    })
  }
}